package com.example.communitypro.mapper;
import com.example.communitypro.pojo.Post;

import java.util.Date;
import java.util.List;

public interface PostMapper {
    Integer insertPost(Post post); //新增帖子
    Integer deletePost(Integer post_no); //删除帖子
    Integer updatePost(Post post); //更新帖子(只能更新帖子内容、最后修改时间、帖子状态)(post_status:0被下架，1审核中，2正常发布中)
    List<Post> selectPost(String keyword);//模糊查找
    List<Post> getHotCommunityPost(Integer community_no); //得到某社区的所有帖子 √
    // (按帖子热度排序post_click_number、post_like_number、post_comment_number、post_collection_number)
    List<Post> getCommunityPost(Integer community_no);//得到某社区所有帖子(按发布顺序) √
    List<Post> getCommunityPassPost(Integer community_no,Integer post_status);//得到某社区某种状态下的帖子(post_status:0被下架，1审核中，2正常发布中) √

    List<Post> getUserPost(Integer user_no); //得到某用户所有帖子 √
    List<Post> getPassPost(Integer user_no,Integer post_status);//找到某用户某种状态下的帖子(post_status:0被下架，1审核中，2正常发布中) √
    List<Post> getAllPost(); //找到所有帖子(按时间排序) √
    List<Post> getHotPost(); //找到所有帖子(按热度排序) √
    List<Post> getAllPass(Integer post_status); //找到所有某状态下帖子 √

    /**
     * lsl
     */
    int countByDate(String date);

    /**
     * 系统自动生成
     */

    Integer deleteByPrimaryKey(Integer postNo);

    Integer insert(Post record);

    Integer insertSelective(Post record);

    Post selectByPrimaryKey(Integer postNo);

    Integer updateByPrimaryKeySelective(Post record);

    Integer updateByPrimaryKeyWithBLOBs(Post record);

    Integer updateByPrimaryKey(Post record);
}
